package com.example.shopping.dao;

import com.example.shopping.pojo.Seller;
import com.example.shopping.pojo.User;
import org.apache.ibatis.annotations.*;
import org.springframework.data.annotation.Id;
import org.springframework.stereotype.Repository;

import java.util.List;

/*
Create by 苍狼 于 2020/1/16
站在巅峰看世界，
落在深渊思人生。
*/

/**
 * 商家
 */
@Repository
public interface ISellerDao {
    //商家信息全部查询
    @Select("select * from seller")
    List<Seller> selectSellerList();

    //模糊查询
    @SelectProvider(type = SellerByLike.class, method = "getSellerQueryByLike")
    List<Seller> queryByLike(Seller seller);

    class SellerByLike {
        public String getSellerQueryByLike(Seller seller) {
            String sql = "select * from  seller where 1=1  ";
            if (seller.getName() != null && !(seller.getName().equals(""))) {
                sql += "and name like #{name}";
            }
            if (seller.getNick_name() != null && !(seller.getNick_name().equals(""))) {
                sql += "and nick_name like  #{nick_name} ";
            }
            return sql;
        }
    }

    //审核通过修改
    @Update("update seller set status=#{status} where seller_id=#{seller_id}")
    int update(Seller seller);

    //关闭商家直接将状态改为关闭状态  同时也是审核未通过方法
    @Update("update seller set status=2 where seller_id=#{seller_id}")
    int updateCloseSeller(int id);

    //根据ID查询
    @Select("select * from seller where id=#{id}")
    Seller SellerById(int id);

    @Update("update seller set status=1 where id=#{id}")
    int updateStatusYes(int id);

    @Update("update seller set status=3 where id=#{id}")
    int updateStatusNo(int id);

    //商家根据审核状态查询   单选
    @Select("select * from seller where status=#{status}")
    List<Seller> SellerByLikeStatus(int status);

//    class SellerByLikeStatus {
//        public String getSellerQueryByLikeStatus(Seller seller) {
//            String sql = "select * from where 1=1  ";
//            if (seller.getName() != null && !(seller.getName().equals(""))) {
//                sql += "and name like #{name}";
//            }
//            if (seller.getNick_name() != null && !(seller.getNick_name().equals(""))) {
//                sql += "and nick_name like #{nick_name}";
//            }
//            if (seller.getStatus() != 0) {
//                sql += "and status = #{status}";
//            }
//            return sql;
//        }
//    }


}
